1. Field of the Invention
The present invention relates to a digital low pass filter for producing an output value given a target value.
2. Description of the Related Art
Digital filters are operative to perform filtering of sampled discrete-time signals, and may broadly be characterised as either recursive or non-recursive. Recursive filters (also known as infinite impulse response filters) tend to be more efficient than non-recursive filters (which are also known as finite impulse response filters) due, in general, to their requirement for fewer multiplication and addition operations. This results in them often being used in applications where processing resources are at a premium.
Such an application is the low pass filtering (or interpolation) of gain coefficients that are to be applied to digital audio signals. If the value of a gain coefficient is changed suddenly, then artefacts are created. This is because the change in gain can be considered as the modulation of the audio signal by a gain waveform. If the gain waveform is a square wave of a high level, then the modulation produces audible sidebands, resulting in unwanted distortion. There is therefore a requirement to control the rate of change in the gain to be applied to an audio signal.
Audio mixing consoles, used in music production and broadcasting for example, are often used to control the gain of hundreds of channels of audio via faders. Increasingly, mixing consoles are moving to all-digital platforms, with gain being set not only by physical faders but by virtual faders as well. Given the high channel count of such consoles, there is a requirement for an efficient implementation of a digital low pass filter to be able to compute, given a target gain value, an actual gain value to apply to one of many audio channels within an audio sample period. At a 96 kilohertz sampling rate, the audio sample period is around 10.4 microseconds. Thus, the gain coefficient for every channel must be calculated within this window.
First order IIR filters may be implemented naïvely using three multipliers, two adders and two delay units. However, their response is not particularly fast, meaning that when used for controlling the gain of an audio signal, they can lack the sense of attack of second order filters. However, a direct implementation of a second order filter requires four multipliers, three adders and four delay units. Whilst second order filters can be constructed using cascaded first order filters, a delay is imposed because the output of the first filter must be calculated before it can be supplied to the input of the second filter.
It is therefore an object of the present invention to provide a true second order filter that is more efficient in terms of resource usage than existing designs, but can still be optimised to give a high throughput.